package com.tac.service;

import com.tac.common.result.Result;
import com.tac.common.thread.Thread;
import com.tac.dao.UserDao;
import com.tac.pojo.User;
import com.tac.pojo.vo.Page;
import org.apache.ibatis.annotations.Param;
import org.springframework.web.multipart.MultipartFile;

import java.math.BigDecimal;
import java.util.List;


public interface UserService  {

    /**
     * 登录
     * @param user
     * @return
     */
    public Result<User> login(User user);

    /**
     * 退出登录
     * @return
     */
    public Result logout(String token);

    /**
     * 注册
     * @param user
     * @return
     */
    public Result<User> rigister(User user,Integer code);

    /**
     * 发送验证码
     * @param user
     * @return
     */
    public Result<Integer> code(User user);

    /**
     * 充值         还要加入充值表还没写
     * @return
     */
    public Result Recharge(BigDecimal money);

    //修改头像
    Result updateByImg(MultipartFile file );

    /**
     * 根据id修改密码
     * @param
     * @return
     */
    public Result updatePwdByid(String password);
    //------------------------------------------------------------------------管理员接口
    /**
     * 查看所有用户
     * @return
     */
    public Result<Page<List<User>>> selectAll(int page, int limit);
    /**
     * 管理员添加用户
     * @param user
     * @return
     */
    public Result createrUser(User user);


    /**
     * 修改用户信息
     * @param user
     * @return
     */
    public Result updateByid(User user);
    /**
     * 修改用户状态 停用启用删除
     * @param
     * @return
     */
    public Result updateByid(Integer id,Integer status);


}
